Order fulfillment systems

ABSTRACT

Order fulfillment systems and methods, which may enable a recipient to retrieve an ordered product from a plurality of providers, and may additionally deliver a virtual representation of the ordered product to the recipient. The order fulfillment method may be a paperless process comprising electronically receiving an order from a customer for a product to be retrieved by the recipient. A virtual representation of the ordered product may then be delivered and displayed to the recipient. A status module may be provided to indicate to providers whether the order has yet been fulfilled. The method may further comprise receiving an update to the status module when the recipient selects a provider and retrieves the ordered product from the selected provider.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation, and claims the benefit under 35U.S.C. § 120, of U.S. patent application Ser. No. 12/561,771, filed 17Sep. 2009, of which the entire contents and substance are herebyincorporated by reference as if fully set forth below.

BACKGROUND 1. Technical Field

Various aspects of the present invention relate to order fulfillmentsystems and, more particularly, to order fulfillment systems forenabling a recipient to receive an ordered product from one of aplurality of providers and, optionally, delivering a virtualrepresentation of the ordered product to the recipient as well.

2. Description of Related Art

Conventionally, electronic orders can be placed via websites tailoredfor individual providers. Each of such websites generally offers forsale a set of products to be provided by a predetermined individualprovider or family of related providers sponsoring the website.

When placing an order via one of these conventional electronic ordersystems, a customer can select a delivery method. The customer may bepresented with an option to have an ordered product delivered to aspecified address, or to pick up the ordered product from a physicalstore. If store pick-up is selected, the customer must specify aparticular store so that the ordered product can be reserved for pick-upin the selected store. Additionally, when picking up the orderedproduct, the customer must present physical evidence of havingelectronically purchased the product. Such physical evidence can includean order number, print-out of the order confirmation, the credit cardused to make the purchase, or various combinations of these.

Instead of purchasing a product for oneself, the customer may choose topurchase a gift for a recipient party. Examples of such gifts includephysical products, virtual flowers, and gift certificates. If the giftis a physical product, options of delivery methods are the same as thedelivery options available when the customer purchases the physicalproduct for himself. If the gift is a virtual bouquet of flowers, animage of flowers may be mailed to the recipient's email address.

Alternatively, if the gift is a gift certificate, an electronicconfirmation may be sent to the customer, the recipient, or both. Theelectronic confirmation may arrive via email, and may include an imagerepresenting the gift certificate. To redeem the gift certificate via anelectronic order system, the recipient enters unique identification dataassociated with the gift certificate when placing an order. Such uniqueidentification data evidences the recipient's possession of the giftcertificate. Alternatively, the gift certificate may be redeemable at aphysical location of the provider by displaying some form of the giftcertificate, such as a print-out or a physical gift card. If evidence ofthe gift certificate is lost, the recipient generally has no way toredeem the gift certificate.

Conventional electronic order fulfillment systems have at least a fewdrawbacks. First, they are tailored to a predetermined sponsoringprovider, and only offer products that can be provided by the sponsoringprovider. Second, customers must specify an exact location for pickingup an ordered product. Third, recipients of gift certificates areburdened by having to retain and present evidence of their giftcertificates upon making a purchase.

Therefore, there is a need for an order fulfillment system enabling acustomer to place an order for a product for himself or anotherrecipient without limitation to a single provider or family ofproviders. In an exemplary embodiment, such an order fulfillment systemmay electronically notify the recipient of the order, and the electronicnotification may, in some instances, comprise delivery of a virtualrepresentation of the ordered product or service. There is a furtherneed for an order fulfillment system allowing the recipient to pick upthe ordered product or service from a provider selected by therecipient, and at a physical location selected by the recipient.Additionally, it is desirable that neither the customer nor therecipient be required to pre-specify a provider or physical pick-uplocation. It is further desirable that the order fulfillment system neednot require the recipient to present an order confirmation uponredemption of the order. It is to such an order fulfillment system thatsome embodiments of the present invention are directed.

SUMMARY

Exemplary embodiments of the present invention may include electronicorder fulfillment systems enabling physical pick-ups and, optionally,virtual deliveries of an ordered product, such that the physicalpick-ups may occur at physical locations of various independentproviders.

Through an exemplary embodiment of an order fulfillment system, acustomer, or sender, may select a product and purchase that product forhimself or for a recipient. The product may be, for example, a gift forthe recipient. The order fulfillment system may receive the order and,in response, may notify the recipient that the ordered product wasordered for the recipient. Such notification may occur by delivering anddisplaying a virtual representation of the ordered product to therecipient. The virtual representation may arrive via email or may bedisplayed to the recipient unprompted via a web client or other deliverymechanism. The virtual representation may comprise, for example, animage or animation representing the ordered product.

The recipient may pick up the ordered product at any of a plurality ofphysical locations associated with a plurality of providers. Providersof the order fulfillment system may include merchants, serviceproviders, manufacturers, producers, distributors, wholesalers, andvarious other providers of goods, services, or both. Further, in anexemplary embodiment of the order fulfillment system, the plurality ofproviders may comprise some providers that are not directly related toone another. In other words, various groups of two or more of theparticipating providers may be owned or operated independently from eachother.

The recipient may select a provider and pick-up location of his or herchoosing. The order fulfillment system may provide a list or directoryof participating providers to assist the recipient in his or herselection. In an exemplary embodiment of the order fulfillment system,the recipient need not specify a provider pick-up location beforeappearing to pick up the ordered product.

The order fulfillment system may further provide a status module forreceiving and retaining a status of an order. The status module retainsa record of the order and may receive and retain status updates fromproviders. When the recipient selects a pick-up location of a particularprovider and requests the ordered product and the location, the providermay utilize the status module of the order fulfillment system to confirmthe order and to determine whether the ordered product has been pickedup yet. After giving the ordered product to the recipient, the providermay update the status module to indicate that the ordered product wasdelivered to the recipient. Additionally, the status module may notifythe customer that the ordered product has been picked up.

The order fulfillment system may be implemented on computer hardware,computer software, or both. Accordingly, all or part of the orderfulfillment system may be embodied in computer-readable media and may beexecutable by one or more computer processing units.

These and other objects, features, and advantages of the electronicorder fulfillment system will become more apparent upon reading thefollowing specification in conjunction with the accompanying drawingfigures.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1 illustrates an architecture of a client computer utilizing anorder fulfillment system, in accordance with an exemplary embodiment ofthe present invention.

FIG. 2 illustrates an architecture of a server assembly of the orderfulfillment system, according to an exemplary embodiment of the presentinvention.

FIG. 3 illustrates a block diagram of the order fulfillment system,according to an exemplary embodiment of the present invention.

FIG. 4 illustrates a method of receiving and fulfilling an order,according to an exemplary embodiment of the present invention.

DETAILED DESCRIPTION

To facilitate an understanding of the principles and features of thepresent invention, various illustrative embodiments are explained below.Exemplary embodiments of the invention comprise electronic orderfulfillment systems enabling pick-up from various providers and,optionally, initiating virtual delivery of an ordered product. Inparticular, embodiments of the order fulfillment system are described inthe context of a virtual bar for purchasing drinks for recipients topick up at various physical bars. Embodiments of the invention, however,are not limited to virtual bars. Rather, embodiments of the inventionmay be various virtual stores or virtual combinations of stores sellinggoods, services, or both.

The components described hereinafter as making up various elements ofthe invention are intended to be illustrative and not restrictive. Manysuitable components that would perform the same or similar functions ascomponents described herein are intended to be embraced within the scopeof the order fulfillment system. Such other components not describedherein may include, but are not limited to, for example, componentsdeveloped after development of the invention.

Referring now to the figures, wherein like reference numerals representlike parts throughout the views, various embodiments of the orderfulfillment system and method will be described in detail.

FIG. 1 illustrates a computer architecture for a client computer 102, inaccordance with an exemplary embodiment of the present invention. Theclient computer 102 may be used to access a website, such as an orderfulfillment website 310 for the order fulfillment system 300 (FIG. 3).Those skilled in the art will recognize that the general architecturedescribed in reference to FIG. 1 is for example only, and may bemodified to accommodate various embodiments of the order fulfillmentsystem 300 (FIG. 3) and particular operational environments. As shown inFIG. 1, the client computer 102 may comprise a central processing unit105 (“CPU”) and one or more system memories 107, such as a random accessmemory 109 (“RAM”) and a non-volatile memory, such as a read-only memory(“ROM”) 111. The client computer 102 may further comprise a system bus112 coupling together the memory 107, the CPU 105, and various othercomponents. A basic input/output system containing routines to assist intransferring information between components of the client computer 102may be stored in the ROM 111.

The client computer 102 may comprise, or may be associated with, variousforms of computer-readable media. One such form of computer-readablemedia may be embodied in a mass storage device 114. Although thedescription of computer-readable media contained herein generally refersto a mass storage device 114, such as a hard disk or CD-ROM drive, itwill be appreciated by those skilled in the art that computer-readablemedia may include many available media accessible by the client computer102 or a server assembly 230 (FIG. 2). The mass storage device 114 maystore an operating system 116, application programs, and other programmodules. The mass storage device 114 may be connected to the CPU 105through a mass storage controller (not shown) connected to the bus 112.The mass storage device 114 may provide non-volatile storage for theclient computer 102.

Computer-readable media may include computer storage media, such asvolatile and non-volatile, removable and non-removable media implementedin many methods or technologies for storage of information, such ascomputer-readable instructions, data structures, program modules, orother data. Computer storage media may include, but is not limited to,RAM, ROM, EPROM, EEPROM, flash memory, other solid state memorytechnology, CD-ROM, digital versatile disks (“DVD”), other opticalstorage, magnetic cassettes, magnetic tape, magnetic disk storage, othermagnetic storage devices, or many other media that may be used to storethe desired data and may be accessible by the client computer 102 or theserver assembly 230. Computer-readable instructions on the storage mediaof the client computer 102 may include, for example, instructions forimplementing processes, preferably client-side processes, of the orderfulfillment system 300.

According to various embodiments, the client computer 102 may operate ina networked environment using logical connections to remote computers,such as the server assembly 230, through a network 118, such as theInternet. The client computer 102 may connect to the network 118 througha network interface unit 120 connected to the bus 112. It will beappreciated that the network interface unit 120 may also be utilized toconnect to other types of networks and remote computer systems.

The client computer 102 may also include an input/output controller 122for receiving and processing input from a number of other devices,including a keyboard, mouse, or electronic stylus. The input/outputcontroller 122 may provide output to a display screen, a printer, orother type of output device.

A number of program modules and data files may be stored in the massstorage device 114 and RAM 109 of the client computer 102. Such programmodules and data files may also include an operating system 116 suitablefor controlling operations of a networked personal computer. A webbrowser application program, or web client 124, may also be stored onthe mass storage device 114 and the RAM 109. The web client 124 maycomprise an application program for requesting and rendering web pages126 created in Hypertext Markup Language (“HTML”) or other types ofmarkup languages. The web client 124 may also be capable of executingscripts through the use of a scripting host. The scripting host executesprogram code expressed as scripts within the browser environment.

The web client 124 may be operative to execute one or more client sideobjects. Client side objects are executable objects that may beidentified in a web page 126 and executed in conjunction with therendering of the web page 126. For instance, JAVA® applets or ACTIVEX®controls may be identified on a web page 126 and rendered by the webclient 124 to generate a portion of the display of the web page 126.

According to an exemplary embodiment of the invention, the web client124 may be further operative to utilize client side objects called webpart objects 128A-128C, or web parts. Web part objects 128A-128C arereusable client side objects that stand and contain web-based contentsuch as Extensible Markup Language (“XML”), HTML, and scripts. Web parts128A-128C have a set of standard properties that control how they arerendered. These properties enable web parts to be storage-neutral andreusable. Because web parts 128A-128C adhere to a common standard, theymay be stored in libraries, which may be utilized to create a variety ofweb pages 126. Web pages 126 that include web part objects 128A-128C maybe referred to herein as web part pages.

Referring now to FIG. 2, a server assembly 230 utilized in variousexemplary embodiments of the order fulfillment system 300 isillustrated. The server assembly 230 may service the website 310 byreceiving and responding to requests from web clients 124. The serverassembly 230 may comprise various combinations of hardware and softwarefor supporting the website 310. The server assembly 230 described inFIG. 2 is an exemplary server configuration and may be modified toaccommodate various embodiments of the order fulfillment system 300. Asshown in FIG. 2, the server assembly 230 may include many of theconventional computing components included in the client computer 102and described above with respect to FIG. 1. In particular, the serverassembly 230 may include a CPU 105, a network interface unit 120connected to a network 118, such as the Internet, a system memory 107,and a mass storage device 114.

The mass storage device 114 utilized by the server assembly 230 maytypically be operative to store an operating system 116 suitable forservicing the website 310 and controlling operations of a servercomputer. The mass storage device 114 and its associatedcomputer-readable storage media provide non-volatile storage for theserver assembly 230. Computer storage media may include volatile andnon-volatile, removable and non-removable media implemented in manymethods or technologies for storage of information, such ascomputer-readable instructions, data structures, program modules, orother data. Computer-readable instructions on the computer-readablemedia of the server assembly 230 may include, for example, instructionsfor implementing processes, preferably server-side processes, of theorder fulfillment system 300.

The server assembly 230 may utilize a web server application 232. Theweb server application 232 may receive and respond to requests from webclients 124 at remote computers, such as the client computer 102, forweb pages 126 located at or accessible to the server assembly 230. Itwill be appreciated that web pages 126, as described herein, includeboth those pages stored statically and utilizing only HTML, as well aspages generated dynamically through use of server-side scriptingtechnologies.

According to various embodiments of the order fulfillment system 300,the web server application 232 may receive requests for web pages 126that include one or more web parts 128A-128C. As discussed above, webparts 128A-128C may comprise client-side objects that may be used by theweb client 124 when displaying a web page 126.

FIG. 3 illustrates a block diagram of the order fulfillment system 300,according to an exemplary embodiment of the present invention. Asillustrated in FIG. 3, the order fulfillment system 300 may comprisevarious combinations of a receipt module 320, a delivery module 330, adirectory 340, and a status module 350, all of which may be incommunication with one another. These components of the orderfulfillment system 300 may, but need not, be integrated into an orderfulfillment website 310, as shown. When the order fulfillment system 300is implemented through a website 310, a user of the order fulfillmentsystem 300 may access components of the order fulfillment system 300 viaa web client 124 at a client computer 102. Through the web client 124,the client computer 102 and, accordingly, the user can be incommunication with a server assembly 230 supporting the website 310.

Receipt Module

The receipt module 320 of the order fulfillment system 300 may receiveand accept orders placed by customers. The receipt module 320 maycomprise a virtual store offering a plurality of products to users, whoact as customers of the store. The offered products need not be providedby a single provider and, further, need not comprise productstraditionally offered for sale via websites. For example, and notlimitation, the virtual store may offer alcoholic beverages, flowers,gifts, spa services, or many combinations of these and other products.Additionally, such products need not be associated with a particularprovider in the virtual store.

The website 310 may implement an accounting mechanism for retaining astatus of credits useable for purchases through the virtual store.Accordingly, a customer may have a credit account associated with a useraccount on the website 310. The credit account may be used to purchaseproducts from the virtual store. Depending on implementation of theorder fulfillment system 300, the credit account may correspond toactual or virtual currency.

Via the receipt module 320, the customer may place an order for one ormore products, which may be goods, services, or both. While placing theorder, the customer may make a payment using traditional currency or thecustomer's credit account. During or after placing the order, thecustomer may specify an intended recipient of the ordered product. Therecipient may be the customer himself or may be a separate individual orentity. The customer may also, but need not, specify one or morerequirements for delivery of the ordered product to the recipient. Forexample, the customer may select a set of one or more providers fromwhich the recipient may elect to pick up the ordered product. If noproviders are selected, preferably, the recipient may select a providerherself, as described in further detail below. For further example, thecustomer may specify an expiration time or date for picking up theordered product, or a timeframe during which the ordered product may bepicked up.

In an exemplary embodiment of the order fulfillment system 300, thecustomer may customize an ordered product. For example, if the customerorders a beer, the customer may specify a particular beer brand. If thecustomer orders a mixed drink, the customer may specify the name of thedrink or the drink ingredients. If the customer orders a bouquet offlowers, the customer may specify individual flowers to be included inthe bouquet. The virtual store may additionally offer predeterminedpackages for products, such as a package of a dozen red roses withbaby's breath, for the customer's selection without furthercustomization.

The receipt module 320 may accept the customer's order and transfer datarelating to the order to the delivery module 330, the status module 350,or both.

Delivery Module

In response to receipt of the order by the order fulfillment system 300,the delivery module 330 of the order fulfillment system 300 may delivernotification of the order to the recipient. Such notification mayinclude various data, including, without limitation, a name or alias ofthe customer, identification of the specific ordered product, a quantityof the ordered product, a virtual representation of the ordered product,specific providers and/or provider locations for delivery of the orderedproduct, or a combination thereof.

If a virtual representation of the ordered product is delivered to therecipient, such virtual representation may comprise various non-physicalrepresentations of the ordered product. For example, and not limitation,the virtual representation may comprise an image or animation of theorder product or of a product related to the ordered product. Thedelivery module 330 may deliver the virtual representation to therecipient by various means, such as, for example, via an email or otherdigital communication containing the virtual representation, via anemail or other digital communication directing the recipient to thewebsite 310 to view the virtual representation, or via a prompted orunprompted web-based media object.

When the recipient is subscribed to the website 310 or has a useraccount with the website 310, the delivery module 330 may deliver thevirtual representation in the form of a web-based media object. Theweb-based media object may be delivered to the recipient, prompted orunprompted, when the recipient logs into the website 310 or otherwiseindicates a willingness to interact with the order fulfillment system300.

The web-based media object may comprise an image, animation, or otheraudio or visual representation of the ordered product. For example, andnot limitation, the media object may comprise an animation inconjunction with an illustration package capable of superimposing auser's existing display objects. The animation in the media object maybe implemented in various formats, such as Flash™, MicrosoftSilverlight™, or the like. When displayed, the media object may have atransparent background. In other words, media objects of the orderfulfillment system 300 may appear to float in front of other objectsdisplayed on a client computer 102 of the recipient.

Media objects may be dynamic and customizable to personalizeinteractions between the customer and the recipient. For example, if thecustomer selects ingredients for a purchased mixed drink, the mediaobject may include an animation of a drink being prepared from theselected ingredients.

Additionally, a gift note or other supplementary object may accompanythe virtual representation of the ordered product. For example, and notlimitation, the media object may comprise, in addition to a virtualrepresentation of the ordered product, a personalized note to therecipient. The receipt module 320 may prompt the customer to entercustom text to be displayed in the note. When the recipient receives thenote, an animation may play in a web client 124 of the recipient. Theanimation may display a customized or standard representation of theordered product and, for example, a pen writing a gift note having thecustom text entered by the customer.

When a product is ordered, thereby prompting a media object to be sentto the recipient, the media object and any customer customizations maybe stored and queued on the server assembly 230. To efficiently utilizespace on the server assembly 230, if a media object includes ananimation, the media object may preferably comprise no more thanapproximately 30 seconds of animation at 30 frames per second.Additionally, the file size of a media object is preferably no more thanapproximately 150 kilobytes. Those of skill in the art will recognizethat these exemplary animation characteristics and file size are notrestrictive but are provided as sample characteristics for use in anexemplary computer system.

Before its delivery, the media object may be stored in a queue of theserver assembly 230. In an exemplary embodiment, display of the mediaobject on the recipient's client computer 102 may be purposely delayeduntil a predetermined event occurs. For example, such display may bedelayed until the recipient focuses his or her activity on a windowdisplaying the website 310 or otherwise indicates a willingness tointeract with the order fulfillment system 300.

In an exemplary embodiment of the deliver system 330, the media objectmay be delivered to the recipient's client computer 102 through a pullmethod. The pull method may be implemented by creating a pulse, orheartbeat, that is repetitively fired by the recipient's web client 124,and may be received by the server assembly 230. The request may informthe server assembly 230 of a current state of the web client 124 and anyevents that should be handled. In return for each pulse sent by the webclient 124, data is delivered to the web client 124 regarding how tohandle such events.

The customer's order may create an event and related metadata on theserver assembly 230. The server assembly 230 may read the metadata todetermine how to handle the event, and may determine that, based on theorder data, a media object should be transmitted to the recipient'scomputer 102. The server assembly 230 may then create an event andmetadata for the recipient's web client 124, and may retain that eventand metadata in a queue until the server assembly 230 receives acommunication from the recipient's web client 124. When the recipient'sweb client 124 fires a pulse, the server assembly 230 may respond bytransmitting the data in its queue, such as the event related to themedia object, to the web client 124. The web client 124 may then receivethe data in the queue, including the media object event. After the eventis received, the recipient's web client 124 may display the media objectselected by the customer.

In an alternative exemplary embodiment, in which a communicationschannel is enabled between the recipient's web client 124 and the serverassembly 230, the media object may be delivered to the recipient'sclient computer 102 via a push method. In that case, the server assembly230 may remain aware of the web client 124 because of the open channeland, therefore, the web client 124 may remain available to respond torequests sent by the server assembly 230. The server assembly 230 maysend the event and associated metadata directly to the recipient's webclient 124 without the web client 124 firing a pulse to determinewhether it should receive the media object.

Those of skill in the art will recognize that, the above-describedmethods for delivering a web-based media object or other virtualrepresentation of the ordered product are merely exemplary. Variousmethods for delivering a virtual representation of the ordered productmay be implemented in the order fulfillment system 300.

Providers and the Provider Directory

As mentioned above, the order fulfillment system 300 need not betailored to a particular provider or family of providers. The orderfulfillment system 300 may offer for sale products related to variousspecified or unspecified providers. Providers of the order fulfillmentsystem may include combinations of merchants, service providers,manufacturers, producers, distributors, wholesalers, and various otherproviders of goods, services, or both.

In an exemplary embodiment, providers participating in the orderfulfillment system 300 may comprise related and unrelated providers. Forexample, two or more of the providers may be affiliated with each other,such as by being branches or sites of a single company, or being jointlyowned or operated. Additionally, two or more of the providers may beunaffiliated with each other and, for example, may be separately owned,operated, or both. Indeed, providers may be direct or indirectcompetitors in a market. In an alternate exemplary embodiment, all ofthe providers may be affiliated with one another, or all of theproviders may be unaffiliated with one another.

A provider may directly or indirectly provide products offered throughthe order fulfillment system 300. Providers at different distributionlevels, such as a producer and a merchant or service provider, may havedifferent features related to their accounts on the order fulfillmentsystem 300. For example, and not limitation, a producer that is not alsoa direct provider, such as a merchant or service provider, need notprovide a pick-up location for products ordered on the system. In thatcase, the producer's account may be used to track orders and deliveriesof products produced by the producer. In contrast, a direct provider'saccount may be used to check the status of orders when recipients showup and request order fulfillment by the direct provider. A provider thatacts as both producer and direct provider may have an account thatincludes features of both producer and direct provider accounts.

Additionally, accounts of providers at different distribution levels ofthe same products may be linked together. For example, bars may haveaccounts linked to alcohol producer accounts, such that bars have accessto some information available through the alcohol producer accounts.When a customer orders an alcoholic product produced by a particularalcohol producer, the associated order may be accessible through thealcohol producer's account. Because of the link between the alcoholproducer and a local bar, when the recipient of the ordered alcoholicproduct attempts to redeem the order at the local bar, the local bar mayaccess the order through its link to the alcohol producer's account.

Implementation of account linking may take various forms depending on,for example, implementation of data storage related to accounts, systemmanagement preferences, or developer preferences. For example, and notlimitation, stored data associated with a producer account may referencedirect providers of the producer's products. Alternatively, such storeddata may reference categories of direct providers that tend to providethe producer's products. Direct providers referenced directly or bycategory may, through their own accounts, access orders related to theproducer's products. Further alternatively, a producer may affirmativelyselect and deselect providers who may access orders related to theproducer's products. Direct providers may be linked to an entireproducer account, including all products of the producer, or,alternatively, to only select products of the producer.

In some exemplary embodiments, direct providers may have total access toa linked producer's account. In some other exemplary embodiments,however, orders relating to a linked producer's products may be viewabledirectly through a direct provider's account, so as to keep the linkedproducer and direct provider accounts separate. Various combinations ofthe above, and other, implementations may be used to link provideraccounts in the order fulfillment system 300.

Although account linkage may be used to enable direct providers toaccess order information, other methods of providing access to orderinformation may be utilized as well, or alternatively. For example, inan exemplary embodiment, the order fulfillment system 300 may maintain adatabase associating products offered through the order fulfillmentsystem 300 with providers, including direct providers, producers, orboth. Accordingly, when an order is placed for a specific product,providers associated with the specific product may access informationrelating to the order upon request.

For the reference of system users, the order fulfillment system 300 mayinclude a directory 340 of participating providers. A user, such as arecipient of an ordered product, of the order fulfillment system 300 mayaccess the directory 340 to identify a physical location for retrievingthe ordered product. The directory 340 may comprise a list of providers,their physical locations, and, optionally, their phone numbers or otheridentifying information. Preferably, the list of providers may beorganized and sorted in a predetermined manner or based on userpreference, and further preferably, the recipient may sort and searchprovider entries in the directory 340 to assist in selecting a provider.For example, based on the particular product ordered, the recipient maybe presented with a list of providers who carry the product. For anotherexample, if the ordering customer specified a subset of providers fromwhich the recipient could pick-up the product, the recipient may bepresented with the providers in the subset.

Through the various participating providers, embodiments of the orderfulfillment system 300 may enable convenient delivery to a recipient ofan ordered product. The recipient may select a participating provider todeliver the ordered product, such as by choosing a provider from theprovider directory 340. For purposes of some embodiments of the orderfulfillment system 300, a delivery of the product may comprise local orremote delivery. For example, an ordered product may be deliveredlocally at a provider's physical location when picked up by therecipient at the provider's location. Alternatively, delivery may occurwhen a provider sends the ordered product to the recipient.

In an exemplary embodiment, when local pick-up is used, neither thecustomer nor the recipient may need to indicate a pick-up location or aparticular provider from which the ordered product will be retrieved.The particular provider need not receive notice of the order until therecipient shows up at the provider's location to retrieve the orderedproduct from the provider. An alternative exemplary embodiment, however,may require the recipient to indicate the selected provider to the orderfulfillment system 300, and may then require the recipient to pick upthe ordered product from the indicated provider.

After making a selection and, only if required, indicating the selectedprovider to the order fulfillment system 300, the recipient may proceedto a physical location of the selected provider to retrieve the orderedproduct. To pick up the ordered product, the recipient may need only toidentify him or herself, which may entail presenting a form ofidentification. After confirming the order via the status module 350,the selected provider may surrender a physical representation of theordered item, such as the ordered item itself, to the recipient.

A participating provider may benefit from participation in the orderfulfillment system 300 in various manners, and the benefit need not bedirect monetary compensation. In one exemplary embodiment, an operatorof the order fulfillment system 300 may share revenues received from apurchase with the provider selected by the recipient. Alternatively, theprovider may not receive monetary compensation, or may receive onlynominal monetary compensation, from the order. In that case, theprovider may still benefit from its participation by being included inthe directory 340, which may be accessible to users of the orderfulfillment system 300. Additionally, the website 310 may includeadvertisements for the provider to potentially increase the provider'scustomer base.

In an exemplary embodiment of the order fulfillment system 300, providercompensation may vary based on the product ordered. For example, if theordered product is a beer or other relatively inexpensive and easilyprocurable item, the provider may not receive direct monetarycompensation. In contrast, more valuable products or products that aremore difficult to procure may result in direct monetary compensation forthe provider.

Status Module

The status module 350 may retain records of statuses of orders placedthrough the order fulfillment system 300. To retain such records, thestatus module 350 may be in communication with one or more databases on,or accessible to, the server assembly 230. After an order is initiallyplaced, the status module 350 may retain a status of the order. Thestatus of the order may comprise a record of data associated with theorder, which data may include at least whether the ordered product hasbeen delivered to the recipient, and may also include the recipient'sname, the customer's name, an identification of the ordered product, ora combination thereof.

Providers may subscribe to the order fulfillment system 300 and, througha provider account, a provider may access the status module 350 to viewthe status of one or more orders. In an exemplary embodiment of theorder fulfillment system 300, the provider may have access to only apredetermined set of orders placed through the order fulfillment system300. For example, and not limitation, the provider may access ordersrelating to products carried by the provider, orders for which theordered product has not yet been picked up, or orders for which thecustomers selected the provider as an optional pick-up location.Alternatively, the provider may have access to all orders, or all orderswithin a predetermined time period.

When a recipient appears at a provider location to pick up the orderedproduct, the selected provider may determine a status of the order bylooking up the order through the status module 350. The order status maybe retrieved via the status module 350 based on data presented by therecipient, such as the recipient's name. The provider may access thestatus module 350 to request the status of the order. The status module350 may identify the ordered product, and may indicate whether theordered product has been picked up at the provider's location or atanother provider's location. If multiple quantities of the orderedproduct were ordered by the customer, the status module 350 may indicatewhether any quantity of the ordered product remain to be retrieved. Inan exemplary embodiment of the order fulfillment system 300, the statusmodule 350 may indicate either or both of: (a) whether a quantity of theordered product remains to be retrieved, or more specifically, (b) aspecific quantity of the ordered product remaining to be retrieved. If aquantity of the ordered product has not yet been retrieved, as indicatedby the status module 350, the provider may surrender the ordered productto the recipient after verification of the recipient's identity.

Identity verification may be conducted manually, through the orderfulfillment system 300, or both. For example, if only manualidentification of the recipient is required, the recipient may simplypresent a photo identification to the provider. Alternatively, the orderfulfillment system 300 may require identification to be performedthrough the order fulfillment system 300. For example, and notlimitation, the provider may log into its provider account, and throughthat account, may conduct a search to determine whether the recipient isassociated with an unfulfilled order accessible by the provider. If suchan order is located, the recipient may be required to enter a password,such as a personal identification number. If the order fulfillmentsystem 300 verifies the password as belonging to the recipient, theorder fulfillment system 300 may approve redemption of the order.Additionally, for additional security during the identification process,the provider may be asked to enter a password before or after therecipient enters a password. Redemption approval may depend onverification of passwords associated with both the provider and therecipient.

If the provider has a digital capture device, such as a webcam, aphotograph of the recipient may be taken upon redemption approval. Ifnecessary, the photograph may later be used to prove, or disprove, thatthe recipient, as opposed to a person masquerading as the recipient,redeemed the order.

If system identification of the recipient is required, then failure ofthe provider to require the recipient to take the proper steps toidentify him or herself to the order fulfillment system 300 may resultin the provider's not receiving agreed-upon compensation from theoperator of the order fulfillment system 300. Accordingly, the orderfulfillment system 300 may act as a virtual escrow account, requiringverification from both the recipient and the provider before approvingrelease of the ordered product.

After providing the recipient with the ordered product, the provider mayupdate the status module 350 by indicating to the status module 350 thatthe ordered product was picked up and, if applicable, what quantity ofthe ordered product was picked up. Accordingly, through the statusmodule 350, the provider may indicate to the order fulfillment system300 that the recipient has selected a provider and that one or morequantities of the ordered product were delivered to the recipient. In anexemplary embodiment of the order fulfillment system 300, the selectedprovider may also indicate via the status module 350 that the specificselected provider delivered the ordered product to the recipient. Suchindication may occur automatically based on the provider's account withthe order fulfillment system 300. For example, the order fulfillmentsystem 300 may recognize and automatically register that a particularprovider delivered the ordered product based on the fact that theparticular provider's provider account was used to indicate productretrieval to the status module 350.

Upon receiving data from the provider regarding order retrieval, theorder fulfillment system 300 may update the status module to reflectthat the ordered product, or a specific quantity of the ordered product,was retrieved. Accordingly, if a second provider accesses the statusmodule 350 to determine whether to deliver the ordered product to therecipient, the status module 350 may indicate to the second provider anupdated status of the order, based on a quantity of the ordered productremaining to be delivered to the recipient. As a result, each orderedproduct may be retrieved only a limited number of times. For example, ifa single quantity of a product is ordered, only a single quantity may beretrieved by the recipient. Analogously, if multiple quantities of aproduct are ordered, then no more than the quantity ordered may beretrieved from one or more providers.

After receiving an indication that the ordered product was picked up,the status module 350 may alert the customer that the product has beendelivered. The alert can occur in various manners. For example, and notlimitation, the order fulfillment system 300 may send the customer anemail or an automated telephone call. In some embodiments, anotification can be placed on the customer's account, such that when thecustomer logs into his or her account, the customer can view thenotification of the delivery. Through similar means used to alert thecustomer, the status module 350 may also alert a producer of the orderedproduct that the product was delivered.

Exemplary Order Handling

The various components of the order fulfillment system 300 may work inconjunction to receive and fulfill an order placed by a customer. FIG. 4illustrates an exemplary method 400 for receiving and fulfilling anorder placed through the order fulfillment system 300.

As shown in FIG. 4, at 410, the customer may place an order for aproduct, and during the ordering process, the customer may indicate arecipient of the ordered product. For example, the order fulfillmentsystem 300 may be associated with a virtual bar, enabling the customerto purchase a beer for the recipient. At 420, the receipt module 320 mayreceive data related to the order. This data may indicate that a beerwas purchased for the recipient. The delivery module 330 may deliver tothe recipient a virtual representation of the ordered product at 430.For example, an animation of a beer being poured into a beer mug may bedisplayed on the recipient's client computer 102. Optionally, at 440,the recipient may view the provider directory 340. At 450, the recipientmay present his or her identification to a provider located by therecipient via the directory 340 or via some other means. At 460, thestatus module 350 may present the provider with data relating to theorder. If the order has not yet been fulfilled, at 470, the provider mayprovide the recipient with the ordered product, such as a beer, as perthe order placed on the order fulfillment system 300. Accordingly, theorder fulfillment system 300 may fulfill the customer's order bothvirtually and physically.

While the order fulfillment system 300 has been disclosed in exemplaryforms, it will be apparent to those skilled in the art that manymodifications, additions, and deletions may be made without departingfrom the spirit and scope of the system, method, and their equivalents,as set forth in the following claims.

What is claimed is:
 1. A system for fulfilling an order, the systemcomprising: one or more processors; and a memory in communication withthe one or more processors and storing instructions that, when executedby the one or more processors, are configured to cause the system to:receive, from a computing device associated with a sender, an electronicorder for a selected product to be furnished to a recipient; responsiveto receipt of the electronic order, modify an electronic accountassociated with the recipient to indicate that the recipient is due aspecific quantity of the selected product; output, for display at acomputing device associated with the recipient, an indication that therecipient is due the selected product; receive, from a computing deviceassociated with a first provider of a plurality of participatingproviders, an electronic notification indicating a quantity of theselected product received by the recipient from the first provider; andresponsive to receiving the electronic notification that the recipienthas received the quantity of the selected product from the firstprovider, update the electronic account associated with the recipient todecrease the specific quantity of the selected product by the quantityof the selected product received.
 2. The system of claim 1, wherein thefirst provider of the plurality of providers representing a firstcompany, and a second provider of the plurality of providersrepresenting a second company unaffiliated with the first company. 3.The system of claim 1, further comprising instructions configured tocause the system to display the status of the order to the firstprovider of the plurality of the providers.
 4. The system of claim 1,wherein the selected product is a beverage and at least one of theparticipating providers is a bar, further comprising instructionsconfigured to cause the system to output, for display at a computingdevice associated with the sender, an option to purchase a beverage forthe recipient.
 5. The system of claim 1, wherein the first provider ofthe plurality of providers represents a first branch location of a firstcompany, and a second provider of the plurality of providers representsa second branch location of the first company.
 6. The system of claim 1further comprising instructions configured to cause the system tooutput, for display at a computing device associated with the firstprovider, the status of the order to the first provider of the pluralityof the providers.
 7. The system of claim 1, wherein each of theplurality of providers may access electronic orders received at thesystem that relate to products carried by a respective provider of theplurality of providers.
 8. The system of claim 1 further comprisinginstructions configured to cause the system to output, to the computingdevice associated with the recipient, an advertisement for one or moreof the plurality of providers.
 9. A method comprising: receiving, from acomputing device associated with a sender, an electronic order for aselected product to be furnished to a recipient; responsive to receiptof the electronic order, modifying an electronic account associated withthe recipient to indicate that the recipient is due a specific quantityof the selected product; outputting, for display at a computing deviceassociated with the recipient, an indication that the recipient is duethe selected product; receiving, from a computing device associated witha first provider of a plurality of participating providers, anelectronic notification indicating a quantity of the selected productreceived by the recipient from the first provider; and responsive toreceiving the electronic notification that the recipient has receivedthe quantity of the selected product from the first provider, updatingthe electronic account associated with the recipient to decrease thespecific quantity of the selected product by the quantity of theselected product received.
 10. The method of claim 9, wherein the firstprovider of the plurality of providers represents a first company, and asecond provider of the plurality of providers represents a secondcompany unaffiliated with the first company.
 11. The method of claim 9further comprising outputting, for display at a computing deviceassociated with the first provider, the status of the electronic order.12. The method of claim 9, wherein each of the plurality of providersmay access electronic orders received that relate to products carried bya respective provider of the plurality of providers.
 13. The method ofclaim 9, wherein the selected product is a beverage and at least one ofthe participating providers is a bar, further comprising outputting, fordisplay at a computing device associated with the sender, an option topurchase a beverage for the recipient.
 14. The method of claim 9 furthercomprising outputting, to the computing device associated with therecipient, an advertisement for one or more of the plurality ofproviders.
 15. The method of claim 9 further comprising generating avirtual representation of the selected product.
 16. The method of claim15, wherein the virtual representation of the selected product comprisesa web-based media object.
 17. The method of claim 16, wherein theweb-based media object comprises at least one selected from a listcomprising an image, an animation, and audio associated with theselected product.
 18. The method of claim 15, wherein outputting anindication that the recipient is due the selected product includesoutputting the virtual representation of the selected product fordisplay at the computing device associated with the recipient.
 19. Themethod of claim 18, wherein the virtual representation of the selectedproduct is displayed at the computing device associated with therecipient unprompted by the recipient.
 20. The method of claim 18,wherein the virtual representation of the selected product is displayedat the computing device associated with the recipient in response to anaffirmative action of the recipient.